/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.LaboratorioMedicamento;
import java.util.Vector;
import org.hibernate.Query;

/**
 *
 * @author Gonzalo
 */
public class LaboratorioMedicamentoFisica extends CapaFisica {

    /**
     * Retorna el vector de objetos LaboratorioMedicamento según el nombre del
     * laboratorio.
     *
     * @param nombreLaboratorio El nombre del laboratorio
     * @param estado false si es baja lógica, true si aún activo
     * @return El vector de objetos LaboratorioMedicamento consultado, null si
     * no existe
     */
    public static Vector<LaboratorioMedicamento> 
            getVectorLaboratorioMedicamentoPorNombreYEnBd(String nombreLaboratorio,
            boolean estado) {
        Query q = Sesion.sesion.createQuery(
                "from LaboratorioMedicamento " +
                "where lower(sinacentos(nombreLaboratorioMedicamento)) like " +
                "lower(sinacentos('%" + nombreLaboratorio + "%')) "
                + "and enBdLaboratorioMedicamento = " + estado
                );
        
        return getVectorObjetos(q);
    }

    /**
     * Retorna el objeto LaboratorioMedicamento según el nombre del laboratorio.
     *
     * @param nombreLaboratorio Elnombre del laboratorio
     * @param estado false si es baja lógica, true si aún activo
     * @return El objeto LaboratorioMedicamento consultado, null si no existe
     */
    public static LaboratorioMedicamento getLaboratorioMedicamentoPorNombreYEnBd(
            String nombreLaboratorio, boolean estado) {
        Query q = Sesion.sesion.createQuery(
                "from LaboratorioMedicamento " +
                "where lower(sinacentos(nombreLaboratorioMedicamento)) = " +
                "lower(sinacentos('" + nombreLaboratorio + "')) "
                + "and enBdLaboratorioMedicamento = " + estado
                );

        return (LaboratorioMedicamento) getObjeto(q);
    }

    /**
     * Retorna el objeto LaboratorioMedicamento según el id.
     *
     * @param idLaboratorioMedicamento  El id del laboratorio del
     * medicamento
     * @return El objeto LaboratorioMedicamento consultado, null si no existe
     */
    public static LaboratorioMedicamento getLaboratorioMedicamentoPorId(
            int idLaboratorioMedicamento) {
        Query q = Sesion.sesion.createQuery(
                "from LaboratorioMedicamento " +
                "where idLaboratorioMedicamento = " +
                idLaboratorioMedicamento
                );

        return (LaboratorioMedicamento) getObjeto(q);
    }

}
